﻿<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Wild2.Models.HelpSystem.Types.Help>" %>
<% 
    //Прверяем есть ли выбранные части
    int? razd = null;
    int? node = null;
    int page = 1;

    if (Url.RequestContext.RouteData.Values["razd"] != null && !Url.RequestContext.RouteData.Values["razd"].Equals("")) razd = Convert.ToInt32(Url.RequestContext.RouteData.Values["razd"]);
    if (Url.RequestContext.RouteData.Values["node"] != null && !Url.RequestContext.RouteData.Values["node"].Equals("")) node = Convert.ToInt32(Url.RequestContext.RouteData.Values["node"]);
    if (Url.RequestContext.RouteData.Values["page"] != null && !Url.RequestContext.RouteData.Values["page"].Equals("")) page = Convert.ToInt32(Url.RequestContext.RouteData.Values["page"]);
    %>
<div style="margin-top: 0.5em; margin-bottom: 0.5em">
    <div class="commonbox">
        <div class="commonbox" style="padding: 0.5em; font-weight: 700;">
         <span>
         <% if (razd.HasValue)
            {
                Response.Write(Html.ActionLink(Model.Caption, "Index", "Help", new RouteValueDictionary { { "razd", "" }, { "node", "" }, { "page", "" } }, null));
            }
            else
            {
                Response.Write(Model.Caption);
            }%>
         </span>
        </div>
        <div style="margin: 0.2em;">
            <%
                //if (razd.HasValue) Response.Write("Раздел: " + razd.Value + "<br />");
                //if (node.HasValue) Response.Write("Узел: " + node.Value + "<br />");
                //Response.Write("Страница: " + page + "<br />");
                if (razd.HasValue)
                {
                    // Выбран раздел справки, смотрим указан ли узел
                    if (node.HasValue)
                    {
                        //Узел выбран, выводим информацию
                        foreach (var item in Model.Razds)
                        {
                            if (item.IdRazd == razd.Value)
                            {
                                foreach (var item2 in item.Nodes)
                                {
                                    if (item2.IdNode == node.Value)
                                    {
                                        Response.Write("<b>" + item2.Name + "</b><br />");
                                        for (int i = 0; i < item2.Text.Count; i++)
                                        {
                                            if ((i >= ((page - 1) * 10)) && (i < (page - 1) * 10 + 10))
                                            {
                                                //Response.Write(item2.text[i] + "<br />");
                                                Response.Write("<p>" + item2.Text[i] + "</p>");
                                            }
                                        }
                                        int lastpage = (int)Math.Ceiling(((double)item2.Text.Count - 1) / 10.0);
                                        if (page > 1 || page < lastpage) Response.Write("<div style=\"text-align: center\">");
                                        if (page > 1)
                                        {
                                            Response.Write(Html.ActionLink(Resources.Common.Prev, "Index", "Help", new RouteValueDictionary { { "razd", item.IdRazd }, { "node", item2.IdNode }, { "page", page - 1 } }, null));
                                        }
                                        if (page < lastpage)
                                        {
                                            if (page > 1) Response.Write(" ");
                                            Response.Write(Html.ActionLink(Resources.Common.Next, "Index", "Help", new RouteValueDictionary { { "razd", item.IdRazd }, { "node", item2.IdNode }, { "page", page + 1 } }, null));
                                        }
                                        if (page > 1 || page < lastpage) Response.Write("</div>");
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        //Выбран узел не выбран, выводим список доступных узлов
                        // Не выбран ни один из разделов, выводим гравную страницу помощи
                        foreach (var item in Model.Razds)
                        {
                            if (item.IdRazd == razd.Value)
                            {
                                Response.Write("[ -] " + Html.ActionLink(item.Name, "Index", "Help", new RouteValueDictionary { { "razd", "" } }, null));
                                Response.Write("<br />");
                                if (razd.Value == 8)
                                {
                                    Response.Write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + Html.ActionLink("Описание сайта", "Info", "Help", new RouteValueDictionary { { "full", 0 } }, null));
                                    Response.Write("<br />");
                                    Response.Write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + Html.ActionLink("Обратная связь", "Feedback", "Help", null));
                                    Response.Write("<br />");
                                }
                                foreach (var item2 in item.Nodes)
                                {
                                    Response.Write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + Html.ActionLink(item2.Name, "Index", "Help", new RouteValueDictionary { { "razd", item.IdRazd }, { "node", item2.IdNode } }, null));
                                    Response.Write("<br />");        
                                }
                            }
                            else
                            {
                                Response.Write("[+] " + Html.ActionLink(item.Name, "Index", "Help", new RouteValueDictionary { { "razd", item.IdRazd } }, null));
                                Response.Write("<br />");
                            }
                        }
                    }
                }
                else
                {
                    // Не выбран ни один из разделов, выводим гравную страницу помощи
                    foreach (var item in Model.Razds)
                    {
                        Response.Write("[+] " + Html.ActionLink(item.Name, "Index", "Help", new RouteValueDictionary{ { "razd", item.IdRazd } }, null));
                        Response.Write("<br />");
                    }
                }
                 %>
        </div>
    </div>
</div>
